<pre>
    Mango - Open Source M2M - <a href="http://mango.serotoninsoftware.com">http://mango.serotoninsoftware.com</a>
    Copyright (C) 2006-2011 Serotonin Software Technologies Inc.
    @author Matthew Lohbihler
    
    Este &eacute; um programa &eacute; software livre: voc&ecirc; pode redistribuir e/ou modifica-lo 
    sob os termos da Licen&ccedil;a P&uacute;blica Geral GNU como &eacute; publicada pela 
    Funda&ccedil;&atilde;o para o Software Livre, na vers&atilde;o 3 da licen&ccedil;a, ou (sua decis&atilde;o) 
    qualquer vers&atilde;o posterior.
    
    Este programa &eacute; distribu&iacute;do na esperan&ccedil;a que ser&aacute; &uacute;til, mas 
    SEM NENHUM GARANTIA; sem mesmo a garantia expl&iacute;cita do 
    VALOR COMERCIAL ou ADEQUA&Ccedil;&Atilde;O PARA UM PROP&Oacute;SITO EM PARTICULAR. 
    Veja a Licen&ccedil;a P&uacute;blica Geral GNU para mais detalhes.

    Voc&ecirc; deveria ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral GNU
    junto com este programa.  Caso n&atilde;o tenha recebido, favor acessar <a
	href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
</pre>
<br />
<br />

<p>Segue abaixo uma apresenta&ccedil;&atilde;o geral de como essa aplica&ccedil;&atilde;o
funciona e conceitos de projetos que os usu&aacute;rios devariam saber.
Detalhes particulares podem ser achados dentro da aplica&ccedil;&atilde;o usando as
ajudas contextuais, indicadas pelo &iacute;cone (<img src="images/help.png">).
Clique neste &iacute;cone onde quer que apare&ccedil;a para obter mais informa&ccedil;&otilde;es na
funcionalidade que voc&ecirc; est&aacute; utilizando.</p>


<!--<p>Below is a general overview of how this application works, and design concepts that users should know. Helpful -->
<!--details can be found throughout the application using contextual help, indicated by the help icon -->
<!--(<img src="images/help.png">). Click on this icon wherever it appears to get more information on the feature you are -->
<!--using.</p>-->

<h1>Apresenta&ccedil;&atilde;o da Aplica&ccedil;&atilde;o</h1>
<p>As funcionalidades nesta aplica&ccedil;&atilde;o s&atilde;o acessadas pelos controles
no cabe&ccedil;alho. Dependendo das permiss&otilde;es de sua conta de usu&aacute;rio, v&aacute;rios
&iacute;cones ser&atilde;o exibidos abaixo do logotipo da aplica&ccedil;&atilde;o. Quando o cursor
do mouse pairar sobre um &iacute;cone, ser&aacute; exibida um bal&atilde;o de texto com uma
descri&ccedil;&atilde;o resumida da funcionalidade daquele &iacute;cone.</p>

<!--<h1>Application overview</h1>-->
<!--<p>Functionality in this application is primarily accessed using the controls in the header. Depending on the -->
<!--permissions granted to your user account, you will see various icons underneath the application logo. When you hover-->
<!--over these icons with your mouse, you will see an overlay message with a short description of what the icon is -->
<!--for.</p>-->

<p>Al&eacute;m dos &iacute;cones de controle, no lado direito do cabe&ccedil;alho &eacute;
mostrado o nome de usu&aacute;rio que est&aacute; logado no sistema.</p>
<p>Quando sua aplica&ccedil;&atilde;o tiver um alarme ativo, um &iacute;cone de uma
bandeira (<img src="images/flag_white.png" />) ficara piscando e ser&aacute;
associada uma descri&ccedil;&atilde;o do alarme pr&oacute;ximo ao centro do cabe&ccedil;alho. A cor
da bandeira indicar&aacute; a severidade do alarme:</p>
<ul style="list-style-type: none;">
	<li><img src="images/flag_blue.png"> Informa&ccedil;&atilde;o</li>
	<li><img src="images/flag_yellow.png"> Urgente</li>
	<li><img src="images/flag_orange.png"> Cr&iacute;tico</li>
	<li><img src="images/flag_red.png"> Risco de Vida</li>
</ul>
<p>&Eacute; poss&iacute;vel clicar no &iacute;cone ou na descri&ccedil;&atilde;o para exibir a lista de
alarmes ativos.</p>

<!--<p>Beside the header controls at the right-hand side of the header is the username of the user who is currently -->
<!--logged in.</p>-->
<!--<p>When your application has an active alarm, you will see a flashing flag icon (<img src="images/flag_white.png"/>)-->
<!--and an associated description near the center of the header area. The colour of the icon will indicate the severity-->
<!--of the alarm:</p>-->
<!--<ul style="list-style-type:none;">-->
<!--  <li><img src="images/flag_blue.png"> Information</li>-->
<!--  <li><img src="images/flag_yellow.png"> Urgent</li>-->
<!--  <li><img src="images/flag_orange.png"> Critical</li>-->
<!--  <li><img src="images/flag_red.png"> Life safety</li>-->
<!--</ul>-->
<!--<p>You can click on the icon or the description to go to the list of active alarms.</p>-->

<h1>Tipos de Dados</h1>
<p>S&atilde;o suportados cinco tipos de dados:</p>
<ul>
	<li>Valores <b>Bin&aacute;rios</b> (ou booleanos) podem ter apenas dois
	estados, referidos no sistema com os valores <b>zero</b> (<b>0</b>) e <b>um</b>
	(<b>1</b>). &Eacute; poss&iacute;vel utilizar conversores para exibir os valores
	bin&aacute;rios em quaisquer r&oacute;tulos necess&aacute;rios, como "on/off",
	"ligado/desligado", "high/low", "alto/baixo", "iniciado/parado",
	"started/stopped", etc.</li>
	<li>Valores de <b>Estados M&uacute;ltiplos</b> t&ecirc;m m&uacute;ltiplos estados
	distintos. Por essa abordagem, o tipo bin&aacute;rio &eacute; um caso particular de
	um estado m&uacute;ltiplo. Valores s&atilde;o primitivamente representados como
	inteiros (ex. 0, 1, 2, 7, ...), mas, como nos valores bin&aacute;rios &eacute;
	poss&iacute;vel atribuir r&oacute;tulos a cada valor como, por exemplo,
	"on/off/disabled", "ligado/desligado/desativado",
	"aquecer/resfriar/desligado", "cool/heat/off", ou quaisquer outros.</li>
	<li>Valores <b>Num&eacute;ricos</b> (ou anal&oacute;gicos) s&atilde;o valores decimais
	representados no sistema com uma vari&aacute;vel de ponto flutuante. Podem ser
	citados como exemplos de valores num&eacute;ricos: temperatura, umidade, pre&ccedil;o
	e altitude. Renderizadores de texto podem ser usados para determinar
	exibi&ccedil;&atilde;o de caracter&iacute;sticas como n&uacute;mero de casas decimais, separa&ccedil;&atilde;o de
	milhar (com pontos ou v&iacute;rgulas), exibi&ccedil;&atilde;o de sufixos (&deg;F, kW/h,
	moles, etc.). Renderizadores de faixas podem ser usados para converter
	faixas de valores em r&oacute;tulos de texto.</li>
	<li>Valores <b>Alfanum&eacute;ricos</b> s&atilde;o simplesmente seq&uuml;&ecirc;ncias de
	caracteres, como a descri&ccedil;&atilde;o O/S de uma fonte SNMP.</li>
	<li>Valores em <b>Imagens</b> s&atilde;o representa&ccedil;&otilde;es bin&aacute;rias de dados
	de imagens. S&atilde;o armazenados em arquivos no sistema de arquivos do
	servidor host (e n&atilde;o no banco de dados) e s&atilde;o guardados em mem&oacute;ria.
	Renderizadores podem ser usados para criar imagens escaladas, como
	thumbnails, para exibi&ccedil;&atilde;o.</li>
</ul>

<!--<h1>Data types</h1>-->
<!--<p>There are five supported data types:</p>-->
<!--<ul>-->
<!--  <li><b>Binary</b> (aka boolean) values have only two states, referred to in the system as the <b>zero</b> value-->
<!--  and the <b>one</b> value. You can use a text renderer to convert the display of binary values to whatever alternate-->
<!--  labels you need, such as "on/off", "high/low", "started/stopped", etc.</li>-->
<!--  <li><b>Multistate</b> values have multiple distinct states. (Strictly speaking, the binary type is a special case-->
<!--  of a multistate.) Values are primitively represented as integers (e.g. 0, 1, 2, 7, ...), but, like binary values, -->
<!--  you can use a text renderer to convert these values to appropriate text representations such as "on/off/disabled",-->
<!--  "cool/heat/off", or anything else.</li>-->
<!--  <li><b>Numeric</b> (aka analog) values are decimal values represented in the system with a floating point variable. -->
<!--  Temperature, humidity, price, and altitude are examples of numeric values. Text renderers can be used to determine-->
<!--  display features like how many decimals places to display, whether to separate thousands (with commas or dots), and -->
<!--  whether a suffix should be displayed (e.g. &deg;F, kW/h, moles, etc). Range renderers can be used to convert ranges-->
<!--  of numeric values into text labels.</li>-->
<!--  <li><b>Alphanumeric</b> values are simply strings of characters, such as the O/S description of an SNMP source.</li>-->
<!--  <li><b>Image</b> values are binary representations of image data. They are stored in files on the host file system-->
<!--  (i.e. not in the database) and are cached in memory as necessary for performance purposes. Renderers can be used to-->
<!--  create scaled images - such as thumbnails - for presentation.</li>-->
<!--</ul>-->

<h1>Data sources</h1>
<p>Data sources (fontes de dados) s&atilde;o parte fundamental para a
opera&ccedil;&atilde;o desta aplica&ccedil;&atilde;o. Um <b>data source</b> &eacute; um "lugar" de onde os
dados s&atilde;o recebidos. Virtualmente, qualquer coisa pode ser um data
source, desde que o protocolo de comunica&ccedil;&atilde;o seja suportado pela
aplica&ccedil;&atilde;o. Alguns exemplos:</p>
<ul>
	<li>Se voc&ecirc; tem uma rede Modbus acess&iacute;vel por RS232, RS485, TCP/IP
	ou UDP/IP, voc&ecirc; pode criar um data source Modbus que ir&aacute; "pollar"
	(poll) a rede em um intervalo definido.</li>
	<li>Se voc&ecirc; tem equipamentos ou aplica&ccedil;&otilde;es que podem enviar dados
	sobre HTTP, voc&ecirc; pode iniciar um data source HTTP receiver que ir&aacute;
	escutar conex&otilde;es recebidas e enviar os dados aos pontos apropriados.</li>
	<li>Para hardware qeu suporta SNMP, inicie um data source SNMP.
	Valores poder&atilde;o ser "pollados" em intervalos definidos, ou traps podem
	ser recebidos para report-on-exception.</li>
	<li>Dados podem ser lidos e atualizados em uma base de dados SQL
	externa ao sistema.</li>
	<li>Dados podem ser gerados randomicamente ou preditivamente
	usando um data source Virtual.</li>
</ul>
<p>Valores de dados recebidos ou coletados por um data source s&atilde;o
armazenados em data points.</p>

<!--<h1>Data sources</h1>-->
<!--<p>Data sources are fundamental to the operation of this-->
<!--application. A <b>data source</b> is a "place" from which data is-->
<!--received. Virtually anything can be a data source, insofar as the-->
<!--communications protocol is supported by the application. Here are some-->
<!--examples:</p>-->
<!--<ul>-->
<!--	<li>If you have a Modbus network accessible via RS232, RS485,-->
<!--	TCP/IP, or UDP/IP, you can create a Modbus data source that will poll-->
<!--	the network for data on an interval you can define.</li>-->
<!--	<li>If you have equipment or an application that can send data-->
<!--	over HTTP you can start an HTTP receiver data source that will listen-->
<!--	for incoming connections and route the data to the appropriate points.</li>-->
<!--	<li>For hardware that supports SNMP, start an SNMP data source.-->
<!--	Values can be polled on an interval schedule, or traps can be received-->
<!--	for report-on-exception.</li>-->
<!--	<li>Data can be read and updated in a SQL data base external to-->
<!--	the system.</li>-->
<!--	<li>Data can be generated either randomly or predictively using a-->
<!--	Virtual data source.</li>-->
<!--</ul>-->
<!--<p>Data values that are received or collected by a data source are-->
<!--stored within data points.</p>-->

<h1>Data points</h1>
<p>Um <b>data point</b> &eacute; uma cole&ccedil;&atilde;o de valores hist&oacute;ricos
associados. Por exemplo, um ponto particular pode ser uma leitura de
temperatura de um quarto, enquanto outro ponto poderia ser a leitura de
umidade do mesmo quarto. Pontos tamb&eacute;m podem ser valores de controle,
como um indicador para ligar ou desligar um equipamento.</p>
<p>Existem muitos atributos que s&atilde;o usados para controlar o
comportamento de pontos. Inicialmente existe o conceito de um <b>point
locator</b>. <i>Locators</i> s&atilde;o usados por data sources para determinar
como "achar" os dados para o ponto particular. Por exemplo, um data
source SQL tem atributos incluindo onde achar a inst&acirc;ncia da base de
dados; point locators para o data source indicam o nome da tabela e dos
campos onde podem ser achados valores espec&iacute;ficos. A separa&ccedil;&atilde;o l&oacute;gica de
data source e de data point dependem do protocolo de comunica&ccedil;&atilde;o em
quest&atilde;o.</p>
<p>Atributos de data points tamb&eacute;m podem determinar muitos outros
aspectos do ponto, como seu nome, como deve ser registrado (todos os
dados, apenas mudan&ccedil;as no valor, ou nenhum), por quanto tempo manter os
dados, como formatar os dados para exibi&ccedil;&atilde;o e como tra&ccedil;ar um gr&aacute;fico com
os valores.</p>
<p>Voc&ecirc; tamb&eacute;m pode configurar data points com <b>event
detectors</b>, que s&atilde;o usados para detectar condi&ccedil;&otilde;es de interesse nos
valores dos pontos, como por exemplo, se o valor esteve muito alto por
muito tempo, se &eacute; muito baixo, se muda com freq&uuml;&ecirc;ncia, se n&atilde;o muda, etc.</p>
<p>Pontos podem ser arranjados em um uma hierarquia, ou &aacute;rvore, para
simplificar sua ger&ecirc;ncia e exibi&ccedil;&atilde;o usando a funcionalidade de Point
Hierarchy.</p>

<!--<h1>Data points</h1>-->
<!--<p>A <b>data point</b> is a collection of associated historical-->
<!--values. For example, a particular point might be a temperature reading-->
<!--from a room, while another point could be the humidity reading from the-->
<!--same room. Points can also be control values, such as a switch to turn a-->
<!--piece of equipment on or off.</p>-->
<!--<p>There are many attributes that are used to control the behaviour-->
<!--of points. Primarily, there is the concept of a <b>point locator</b>.-->
<!--Locators are used by data source to determine how to "find" the data for-->
<!--the particular point. For instance, a SQL data source has attributes-->
<!--including where to find the database instance; point locators for the-->
<!--data source indicate the table and field names with which to find-->
<!--specific values. The logical separation of data source and data point-->
<!--attributes depends on the communication protocol in question.</p>-->
<!--<p>Data points attributes also determine many other aspects of the-->
<!--point, such as its name, how it should be logged (all data, changes in-->
<!--value only, or not at all), how long to keep logged data, how to format-->
<!--values for display, and how to chart values.</p>-->
<!--<p>You can also configure data points with <b>event detectors</b>,-->
<!--which are used to detect conditions of interest in the point's values-->
<!--(eg. value has been too high for too long, is too low, changes too-->
<!--often, doesn't change at all, etc).</p>-->
<!--<p>Points can be arranged into a hierarchy, or tree, to simplify-->
<!--management and display by using the Point Hierarchy functionality.</p>-->

<h1>Monitoramento</h1>
<p>Monitoramento de pontos dentro do sistema pode ser feito de duas
maneiras. &Eacute; poss&iacute;vel usar uma <b>watch list</b> para criar listas
din&acirc;micas de pontos com seus valores, &uacute;ltimos tempos de atualiza&ccedil;&atilde;o, e
gr&aacute;ficos de informa&ccedil;&otilde;es hist&oacute;ricas (se a configura&ccedil;&atilde;o do ponto
permitir). Valores e gr&aacute;ficos s&atilde;o atualizados em tempo real sem ter que
atualizar a janela do navegador. Gr&aacute;ficos de m&uacute;ltiplos pontos tamb&eacute;m
podem ser exibidos sob demanda.</p>
<p>Tamb&eacute;m &eacute; poss&iacute;vel criar <b>graphical views</b> de pontos usando a
funcionalidade drag and drop para posicionar representa&ccedil;&otilde;es gr&aacute;ficas de
pontos sobre uma imagem de fundo arbitr&aacute;ria. Imagens animadas podem ser
usadas para criar uma visualiza&ccedil;&atilde;o altamente din&acirc;mica do comportamento
do sistema, e, como as watch lists, valores s&atilde;o representados em tempo
real sem necessitar de atualiza&ccedil;&atilde;o do navegador. Essas visualiza&ccedil;&otilde;es
podem ser marcadas como "p&uacute;blicas" para que possam ser utilizadas em web
sites p&uacute;blicos.</p>

<!--<h1>Monitoring</h1>-->
<!--<p>Monitoring of points within the system can be done in two ways.-->
<!--You can use the <b>watch list</b> to dynamically create tabular lists of-->
<!--points including their values, last update times, and charts of-->
<!--historical information (if the point is configured to support this).-->
<!--Values and charts are updated in real time without having to refresh-->
<!--your browser window. Charts of multiple points can also be displayed on-->
<!--demand.</p>-->
<!--<p>You can also create <b>graphical views</b> of points using drag-->
<!--and drop functionality to position graphical representations of points-->
<!--on an arbitrary background image. Animated images can be used to create-->
<!--highly dynamic visualization of system behaviour, and, like the watch-->
<!--lists, values are updated in real time without a browser refresh. These-->
<!--views can subsequently be marked as "public", so that they can be reused-->
<!--on public web sites.</p>-->

<h1>Controle</h1>
<p>O controle de sistemas externos pode ser obtido para pontos que
podem ser "setados" (ou que permitem escrita ou sa&iacute;da). Um ponto <b>settable</b>
pode ser "setado" para um valor definido pelo usu&aacute;rio, como uma
configura&ccedil;&atilde;o de um termostato ou de um controle interruptor para um
equipamento. Ambas watch lists e graphical views proporcionam meios
simples para determinar a entrada de um valor. O point locator para um
ponto "set&aacute;vel" determina como o data source define o valor no
equipamento externo.</p>

<!--<h1>Control</h1>-->
<!--<p>Control of external systems can also be acheived for points that-->
<!--can be set (aka writable or output). A <b>settable</b> point can be set-->
<!--to a user-defined value, such as a thermostat setting or equipment-->
<!--control switch. Both watch lists and graphical views provide simple-->
<!--means by which to input a value to set. The point locator for the-->
<!--settable point determines how the data source sets the value within the-->
<!--external equipment.</p>-->

<h1>Eventos</h1>
<p>Um <b>event</b> &eacute; a ocorr&ecirc;ncia de uma condi&ccedil;&atilde;o definida no
sistema. Existem tanto eventos definidos pelo sistema como definidos
pelo usu&aacute;rio. Eventos definidos pelo sistema incluem erros de opera&ccedil;&atilde;o
de data sources, logins de usu&aacute;rios, e inicializa&ccedil;&atilde;o e parada do
sistema. Eventos definidos pelo usu&aacute;rio incluem point event detectors
(veja "event detectors" acima), scheduled events, e eventos compostos
que detectam condi&ccedil;&otilde;es sobre pontos m&uacute;ltiplos usando argumentos l&oacute;gicos.
Tamb&eacute;m existem "audit events" que ocorrem quando usu&aacute;rios fazem
altera&ccedil;&otilde;es (adi&ccedil;&otilde;es, modifica&ccedil;&otilde;es e remo&ccedil;&otilde;es) que afetam objetos em
tempo de execu&ccedil;&atilde;o, incluindo data sources, data points, point event
detectors, scheduled events, compound event detectors e event handlers.</p>
<p>Uma vez que um evento foi detectado, &eacute; manipulado por handlers.
Um <b>event handler</b> &eacute; um comportamento definido pelo usu&aacute;rio que
deve ser executado quando um evento particular ocorre, como envio de
email ou "setar" o valor a um settable point.</p>

<!--<h1>Events</h1>-->
<!--<p>An <b>event</b> is the occurance of a defined condition within-->
<!--the system. Both system-defined and user-defined events are available.-->
<!--System-defined events include data source operation errors, user logins,-->
<!--and system startup/shutdown. User-defined events include point event-->
<!--detectors (see "event detectors" above), scheduled events, and compound-->
<!--events which detect conditions over multiple points using logical-->
<!--statements. There are also "audit events", which are raised when users-->
<!--make changes (additions, modifications, deletions) to runtime-affecting-->
<!--objects including data sources, data points, point event detectors,-->
<!--scheduled events, compound event detectors, and event handlers.</p>-->
<!--<p>Once an event has been detected, it is acted upon by handlers. An-->
<!--<b>event handler</b> is a user-defined behaviour that is to be performed-->
<!--upon the raising of a particular event, such as sending an email or-->
<!--setting the value of a settable point.</p>-->

<h1>&Iacute;cones da Aplica&ccedil;&atilde;o</h1>
<ul style="list-style-type: none;">
	<li><img src="images/icon_ds.png"> Data source</li>
	<li><img src="images/icon_comp.png"> Data point</li>
	<li><img src="images/icon_chart.png"> Chart</li>
	<li><img src="images/icon_edit.png"> Set point</li>
	<li><img src="images/eye.png"> Watch list</li>
	<li><img src="images/icon_view.png"> Graphical view</li>
	<li><img src="images/control_repeat_blue.png"> Refresh</li>
	<li><img src="images/bell.png"> Event detector</li>
	<li><img src="images/multi_bell.png"> Compound detector</li>
	<li><img src="images/clock.png"> Scheduled event</li>
	<li><img src="images/cog.png"> Event handler</li>
	<li><img src="images/flag_white.png"> Alarm</li>
	<li><img src="images/user.png"> User</li>
	<li><img src="images/comment.png"> User comment</li>
	<li><img src="images/report.png"> Report</li>
	<li><img src="images/book.png"> Mailing list</li>
	<li><img src="images/transmit.png"> Publisher</li>
	<li><img src="images/warn.png"> Warning</li>
	<li><img src="images/control_stop_blue.png"> Logout</li>
</ul>

<!--<h1>Application icons</h1>-->
<!--<ul style="list-style-type: none;">-->
<!--	<li><img src="images/icon_ds.png"> Data source</li>-->
<!--	<li><img src="images/icon_comp.png"> Data point</li>-->
<!--	<li><img src="images/icon_chart.png"> Chart</li>-->
<!--	<li><img src="images/icon_edit.png"> Set point</li>-->
<!--	<li><img src="images/eye.png"> Watch list</li>-->
<!--	<li><img src="images/icon_view.png"> Graphical view</li>-->
<!--	<li><img src="images/control_repeat_blue.png"> Refresh</li>-->
<!--	<li><img src="images/bell.png"> Event detector</li>-->
<!--	<li><img src="images/multi_bell.png"> Compound detector</li>-->
<!--	<li><img src="images/clock.png"> Scheduled event</li>-->
<!--	<li><img src="images/cog.png"> Event handler</li>-->
<!--	<li><img src="images/flag_white.png"> Alarm</li>-->
<!--	<li><img src="images/user.png"> User</li>-->
<!--	<li><img src="images/comment.png"> User comment</li>-->
<!--	<li><img src="images/report.png"> Report</li>-->
<!--	<li><img src="images/book.png"> Mailing list</li>-->
<!--	<li><img src="images/transmit.png"> Publisher</li>-->
<!--	<li><img src="images/warn.png"> Warning</li>-->
<!--	<li><img src="images/control_stop_blue.png"> Logout</li>-->
<!--</ul>-->

<h1>Sons de Alarmes</h1>
<p>O Mango M2M pode executar sons quando alarmes est&atilde;o ativos. Por
defini&ccedil;&atilde;o, sons para alarmes s&atilde;o executados para alames urgentes,
cr&iacute;ticos e de risco de vida e n&atilde;o para alarmes de informa&ccedil;&atilde;o, mas os
sons dos alarmes podem ser definidos individualmente. Para habilitar
sons de alarmes particulares, arquivos v&aacute;lidos no formato mp3 devem ser
colocados em:</p>
<ul>
	<li>&lt;mango_home&gt;/audio/information.mp3</li>
	<li>&lt;mango_home&gt;/audio/urgent.mp3</li>
	<li>&lt;mango_home&gt;/audio/critical.mp3</li>
	<li>&lt;mango_home&gt;/audio/lifesafety.mp3</li>
</ul>
<p>Para desabilitar um som, remova o arquivo de som associado. Uma
cole&ccedil;&atilde;o de sons pode ser achada na pasta &lt;mango_home&gt;/audio/lib.</p>

<!--<h1>Alarm sounds</h1>-->
<!--<p>Mango can play sounds when alarms are active. By default, alarm-->
<!--sounds are played for urgent, critical, and life safety alarms (i.e. not-->
<!--for information alarms), but sounds for each alarm type can be-->
<!--controlled individually. To enable particular alarm sounds, valid mp3-->
<!--files must exist at the following locations:</p>-->
<!--<ul>-->
<!--	<li>&lt;mango_home&gt;/audio/information.mp3</li>-->
<!--	<li>&lt;mango_home&gt;/audio/urgent.mp3</li>-->
<!--	<li>&lt;mango_home&gt;/audio/critical.mp3</li>-->
<!--	<li>&lt;mango_home&gt;/audio/lifesafety.mp3</li>-->
<!--</ul>-->
<!--<p>To disable a sound, remove the associated sound file. A library-->
<!--of sounds can be found in the &lt;mango_home&gt;/audio/lib folder.</p>-->

<h1>Graficos</h1>
<p>O Mango M2M cont&eacute;m uma pequena biblioteca de gr&aacute;ficos que pode ser
achada na pasta &lt;mango_home&gt;/graphics. Cada sub-pasta cont&eacute;m todas
as imagens daquela defini&ccedil;&atilde;o de imagem e um arquivo opcional de
propriedades chamado <b>info.txt</b>. Este arquivo de propriedades
cont&eacute;m pares nome/valor para os seguintes atributos (todos opcionais):</p>
<ul>
	<li><b>name</b>: O nome que ser&aacute; usado para descrever a imagem na
	interface de usu&aacute;rio. Se n&atilde;o fornecido, a imagem assume por padr&atilde;o o
	nome da pasta.</li>
	<li><b>width</b>: A largura da imagem. Por padr&atilde;o, todas as
	imagens s&atilde;o do mesmo tamanho. Se n&atilde;o fornecido, a largura da primeira
	imagem ser&aacute; utilizada.</li>
	<li><b>height</b>: A altura da imagem. Por padr&atilde;o, todas as
	imagens s&atilde;o do mesmo tamanho. Se n&atilde;o fornecido, a altura da primeira
	imagem ser&aacute; utilizada.</li>
	<li><b>text.x</b>: A posi&ccedil;&atilde;o de texto relativo ao limite esquerdo
	da imagem, em pixels. Se n&atilde;o fornecido, o valor padr&atilde;o &eacute; 5.</li>
	<li><b>text.y</b>: A posic&atilde;o de texto relativo ao limite superior
	da imagem, em pixels. Se n&atilde;o fornecido, o valor padr&atilde;o &eacute; 5.</li>
</ul>
<p><b>Uma vez que &eacute; utilizada uma defini&ccedil;&atilde;o de imagem nas views
a pasta n&atilde;o deve ser renomeada!</b> O nome da pasta &eacute; usada internamente
como o identificador da defini&ccedil;&atilde;o de imagem.</p>
<p>Arquivos de imagens s&atilde;o arranjados alfabeticamente por nome e s&atilde;o
sens&iacute;veis &agrave; caixa. Pares nome/valor s&atilde;o separados por '='. Linhas
iniciadas por '#' s&atilde;o consideradas coment&aacute;rios. Arquivos 'thumbs.db' s&atilde;o
ignorados. Arquivos compactados (zip, gz, tar, etc) n&atilde;o podem ser usados
por que os arquivos de imagens devem ser acessados pelo web server. As
defini&ccedil;&otilde;es de imagens s&atilde;o carregadas na inicializa&ccedil;&atilde;o do sistema, ent&atilde;o
quaisquer altera&ccedil;&otilde;es requerem reinicializa&ccedil;&atilde;o.</p>
<p>Para que as futuras vers&otilde;es do Mango tenham mais gr&aacute;ficos, por
favor forne&ccedil;a os gr&aacute;ficos que voc&ecirc; criar para o projeto Mango. Por
favor apoie open source software.</p>
<p>Se voc&ecirc; tem d&uacute;vidas a respeito de algum texto de ajuda oferecido
nesta sess&atilde;o e entende ingl&ecirc;s, por favor mude o idioma de exibi&ccedil;&atilde;o para
que o texto orinigal seja exibido. E por gentileza nos envie sua
sugest&atilde;o de tradu&ccedil;&atilde;o!</p>


<!--<h1>Graphics</h1>-->
<!--<p>Mango ships with a small graphics library which can be found in-->
<!--the &lt;mango_home&gt;/graphics folder. Each sub-folder represents an-->
<!--image set. The contents of the sub-folder include all of the images in-->
<!--the image set, as well as an optional properties file called <b>info.txt</b>.-->
<!--(Examples can be found in the graphics directories that ship with-->
<!--Mango.) This property file contains name/value pairs with the following-->
<!--names (all of which are optional):</p>-->
<!--<ul>-->
<!--	<li><b>name</b>: The name that will be used to describe the image-->
<!--	set in the user interface. If not provided this will default to the-->
<!--	folder name.</li>-->
<!--	<li><b>width</b>: The width of the images. (All images are-->
<!--	expected to be the same size.) If not provided the width of the first-->
<!--	image will be used.</li>-->
<!--	<li><b>height</b>: The height of the images. (All images are-->
<!--	expected to be the same size.) If not provided the height of the first-->
<!--	image will be used.</li>-->
<!--	<li><b>text.x</b>: The position of text relative to the left edge-->
<!--	of the image, in pixels. If not provided this defaults to 5.</li>-->
<!--	<li><b>text.y</b>: The position of text relative to the top edge-->
<!--	of the image, in pixels. If not provided this defaults to 5.</li>-->
<!--</ul>-->
<!--<p><b>Once you are using an image set in your views do not-->
<!--rename its folder!</b> The folder name is used internally as the identifier-->
<!--of the image set.</p>-->
<!--<p>Image files are sorted alphabetically by name. Names are case-->
<!--sensitive. Name/value pairs are separated with '='. Lines beginning with-->
<!--'#' are considered comments. 'Thumbs.db' files are ignored. Archive-->
<!--files (zip, gz, tar, etc) cannot be used since the images files have to-->
<!--be accessible to the web server. Image sets are loaded upon system-->
<!--startup, so any changes require a restart.</p>-->
<!--<p>To have future versions of Mango ship with your preferred-->
<!--graphics, please contribute them to Serotonin Software. Please support-->
<!--open source software.</p>-->

<h1>Views remotas</h1>
<p>Views p&uacute;blicas do Mango podem ser acessadas de outros web sites
ao simplesmente colocar um iframe em suas p&aacute;ginas. Por exemplo, a home
page do Mango home page usa o seguinte c&oacute;digo para exibir uma pequena
view de um termostato:</p>
<pre>&lt;div style="position:relative;width:80px;height:150px"&gt;
&lt;iframe frameBorder="0" style="position:absolute;width:450px;height:300px" scrolling="no" allowTransparency="true"
        src="http://mango.serotoninsoftware.com/test/public_view.htm?viewId=3"&gt;&lt;/iframe&gt;
&lt;/div&gt;</pre>
<p>Recursos de posicionamento absoluto e transpar&ecirc;ncia s&atilde;oA
utilizados para permitir a exibi&ccedil;&atilde;o de gr&aacute;ficos e controles de
componentes sem rolagem ou ajustes no c&oacute;digo HTML, mas s&atilde;o opcionais. O
par&acirc;metro 'viewId' &eacute; o id gerado internamente para a exibi&ccedil;&atilde;o da view,
mas pode ser substitu&iacute;do pelo par&acirc;metro 'viewName' e o nome da view como
valor. (Entretanto, o nome da view n&atilde;o deve ser subseq&uuml;entemente
alterado sem atualiza&ccedil;&atilde;o desta refer&ecirc;ncia.)</p>

<!--<h1>Remote views</h1>-->
<!--<p>Public mango views can be accessed from other web sites by simply-->
<!--putting an iframe into your pages. For example, the Mango home page uses-->
<!--the following code to display a small thermostat view:</p>-->
<!--<pre>&lt;div style="position:relative;width:80px;height:150px"&gt;-->
<!--&lt;iframe frameBorder="0" style="position:absolute;width:450px;height:300px" scrolling="no" allowTransparency="true"-->
<!--        src="http://mango.serotoninsoftware.com/test/public_view.htm?viewId=3"&gt;&lt;/iframe&gt;-->
<!--&lt;/div&gt;</pre>-->
<!--<p>Absolute positioning and transparency is used to allow the-->
<!--display of charts and component controls without scrolling or HTML-->
<!--adjustment, but is optional. The 'viewId' parameter is the internally-->
<!--generated id of the view to be displayed, but can be substituted with-->
<!--the 'viewName' parameter and the view's name as the value. (However, do-->
<!--not subsequently alter the name of the view without updating this-->
<!--reference.)</p>-->

<h1>Views customizadas</h1>
<p>Views customizadas s&atilde;o views publicamente acess&iacute;veis que s&atilde;o
escritas pelo usu&aacute;rio, usando uma biblioteca de tags JSP para facilmente
adicionar componentes. Para mais informa&ccedil;&atilde;o veja o exemplo em
customViewExample.jsp.</p>

<!--<h1>Custom views</h1>-->
<!--<p>Custom views are publically accessible views that are written by-->
<!--the user, using a JSP tag library to easily add components. For more-->
<!--information see the example in customViewExample.jsp.</p>-->